package com.canxi.earn.service;

import cn.hutool.core.lang.tree.Tree;
import com.canxi.earn.domain.CxJokeCategory;
import com.canxi.earn.domain.vo.CxJokeCategoryVo;
import com.canxi.earn.domain.bo.CxJokeCategoryBo;
import icu.mhb.mybatisplus.plugln.base.service.JoinIService;
import com.canxi.common.core.page.TableDataInfo;

import java.util.Collection;
import java.util.List;


/**
 * 笑话分类Service接口
 *
 * @author ruoyi
 * @date 2024-09-05
 */
public interface ICxJokeCategoryService  extends JoinIService<CxJokeCategory> {


    /**
     * @description: TODO 分页查询笑话分类列表
     * @author: ruoyi
     * @date: 2024-09-05
     * @param:
     * @param: cxJokeCategoryVo 笑话分类
     * @return:
     * @return TableDataInfo<CxJokeCategoryVo>
     **/
    public TableDataInfo<CxJokeCategoryVo> queryCxJokeCategoryList(CxJokeCategoryBo cxJokeCategoryBo);

    /**
     * @description: TODO 查询全部笑话分类列表
     * @author: ruoyi
     * @date: 2024-09-05
     * @param:
     * @param: cxJokeCategoryVo 笑话分类
     * @return:
     * @return java.util.List<CxJokeCategoryVo>
     **/
    public List<CxJokeCategoryVo> queryCxJokeCategoryAll(CxJokeCategoryBo cxJokeCategoryBo);

    /**
     * 查询笑话分类
     */
    CxJokeCategoryVo queryById(String id);


    /**
     * 查询笑话分类列表
     */
    List<CxJokeCategoryVo> queryList(CxJokeCategoryBo bo);

    /**
     * 新增笑话分类
     */
    Boolean insertByBo(CxJokeCategoryBo bo);

    /**
     * 修改笑话分类
     */
    Boolean updateByBo(CxJokeCategoryBo bo);

    /**
     * 校验并批量删除笑话分类信息
     */
    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);

    /**
     * 获取树开分类
     * @param cxJokeCategoryBo
     * @return
     */
    public List<Tree<String>> queryCxJokeCategoryTree(CxJokeCategoryBo cxJokeCategoryBo);

}
